package liangtWorkSpace.suanfa;

import java.util.Arrays;
// 归并排序
public class MergeSort {

    public static int[] sort(int[] arrs){

        int min = arrs.length / 2;

        int[] temp = new int[arrs.length];
//        Arrays.sort();
        int i = 0;
        int j = min;
        int k = 0;
        // 将两个序列分别插入
        while (i < min && j < arrs.length){
            temp[k++] = arrs[i] < arrs[j] ? arrs[i++]:arrs[j++];
//
//            if (arrs[i] <= arrs[j]){
//                temp[k] = arrs[i];
//                k++;
//                i++;
//            }else {
//                temp[k] = arrs[j];
//                k++;
//                j++;
//            }
//            SortUtils.print(temp);
//            System.out.println();
        }
        while (i < min){
            temp[k++] = arrs[i++];
        }
        while (j < arrs.length){
            temp[k++] = arrs[j++];
        }
        return temp;
    }

    public static void main(String[] args) {
        int[] arrs = {2,5,8,10,3,4,6,9};

//        int[] arrs = SortUtils.getArrays(10);

        SortUtils.print(sort(arrs));
    }

}
